package com.devil.dogs.interfaces;

import java.sql.*;
import java.util.Collection;
import java.util.List;

/**
 *
 * @author Red Team
 */
public interface DAO {

    Object getSingle(Object obj) throws SQLException;

    Object getSingle(int primaryKey) throws SQLException;

    int remove(Object obj) throws SQLException;

    int remove(int primaryKey) throws SQLException;

    int removeMany(Collection<Object> objs) throws SQLException;

    int insert(Object obj) throws SQLException;

    int insertMany(Collection<Object> objs) throws SQLException;

    int update(Object obj, String tableName) throws SQLException;

    Collection<Object> getAll() throws SQLException;

    void closeConnection(ResultSet rs, Statement st, Connection conn);
}
